/*
 * PANEDocument.h
 *
 *  Created on: Apr 19, 2009
 *      Author: wrice
 */

#ifndef DOCUMENTPANEELEMENT_H_
#define DOCUMENTPANEELEMENT_H_
#include "PANEImp.h"
namespace PANEImp {

class PANEDocument : public DocumentImp {
public:
	PANEDocument();

public://
	virtual Element * createElement( DOMString tagName ) throw(DOMExceptionPtr);
	virtual AbstractView * getDefaultView();

public:
	// title
	virtual DOMString getTitle();
	virtual void setTitle(DOMString title);

public: // new methods
	virtual PANEElement * createPANEElement( DOMString tagName ) throw(DOMExceptionPtr);
	virtual PANEImageElement * createPANEImageElement();
	virtual PANEButtonElement * createPANEButtonElement();
	virtual PANEDivElement * createPANEDivElement();
	virtual PANERadioElement * createPANERadioElement();
	virtual PANEImageBoardElement * createPANEImageBoardElement();

private:
	typedef list< PANEElementPtr > PANEElements;
	PANEElements paneElements_;

	DOMString title_;
};

}

#endif /* DOCUMENTPANEELEMENT_H_ */
